home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 22
/
Aminet 22 (1997)(GTI - Schatztruhe)[!][Dec 1997].iso
/
Aminet
/
dev
/
amos
/
amos_col.lha
/
AMOS-COL
/
CHAOS.amos
/
CHAOS.amosSourceCode
< prev
next >
Wrap
AMOS Source Code
|
1980-01-10
|
26KB
|
983 lines
'By Delta/Opium
'
'�ukasz �elezny
'ul. W�oska 4D/6
'42-612 Tarnowskie G�ry
'Poland
'
Set Buffer 20
On Error Proc BAD
Trap Screen Close 0
BLOKUJ
Degree
Dim SN#(1360),PRV(16),HA$(9)
Dim X(10),Y(10),WSK(160),WSP(160)
Dim KOL(32)
For I=0 To 1360 : Doke $DFF180,Rnd(4090) : SN#(I)=Sin(I) : Next I
Global KOL(),NR,ZNAK$,SN#(),PRV(),HA$(),WSK(),WSP(),Y_POS
CREDITS
ALIENS
AKFARELA[160,128,2000,1]
_SINUS
CHESSBOARD_3D
_3DCUBE
ROTATOR
COPPER
LUSTRO
_SCROLL
ELVIS
BRY�Y
_END_SCROLL
Procedure ALIENS
Unpack 10 To 0 : Erase 10 : Screen Display 0,,-220,, : Screen Hide 0 : KOLORY : Screen Show 0
For Z=-220 To 40 : Screen Display 0,,Z,, : Wait Vbl : Next
Wait 100
Fade 2,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F,$F
Wait 35
Fade 2
Wait 25
End Proc
Procedure KOLORY
For KOL=1 To Screen Colour
KOL(KOL)=Colour(KOL)
Next
End Proc
Procedure PISZ[T$,X,Y,CZAS]
For NR=1 To Len(T$)
Ink 1
For NIC=1 To 15
Bar X+14-2*NIC+NIC,Y+14-2*NIC+NIC To X+16+NIC,Y+16+NIC
Next NIC
Wait Vbl
Ink 15
For NIC=1 To 15
Bar X+14-2*NIC+NIC,Y+14-2*NIC+NIC To X+16+NIC,Y+16+NIC
Next NIC
ZNAK$=Mid$(T$,NR,1)
If ZNAK$<>" "
Paste Bob X,Y,Asc(ZNAK$)-64
End If
X=X+32
If CZAS>0
Wait CZAS
End If
Next
End Proc
Procedure PISZ2[T$,X,Y,CZAS]
For NR=1 To Len(T$)
ZNAK$=Mid$(T$,NR,1)
If ZNAK$="*"
X=X-55
End If
If ZNAK$<>" " and ZNAK$<>"*"
Paste Bob X,Y,Asc(ZNAK$)-64
End If
X=X+32
If CZAS>0
Wait CZAS
End If
Next
End Proc
Procedure PISZ3[T$,X,Y,CZAS]
For NR=1 To Len(T$)
ZNAK$=Mid$(T$,NR,1)
If ZNAK$="*"
X=X-55
End If
If ZNAK$<>" " and ZNAK$<>"*"
Paste Bob X,Y,Vrev(Asc(ZNAK$)-64)
End If
X=X+32
If CZAS>0
Wait CZAS
End If
Next
End Proc
Procedure CREDITS
Screen Open 0,640,512,16,Hires+Laced
Screen Hide 0
Flash Off : Curs Off
Palette $FFF,$111,$222,$333,$444,$555,$666,$777,$888,$999,$AAA,$BBB,$DDD,$EEE,$FFF,$FFF
Colour Back $FFF
Cls 15
Screen Show 0
Track Play 6 : Track Loop On
PISZ[" AFC GROUP ",100,100,12]
PISZ["PRESENT",170,135,12]
PISZ["NEW DENTRO",110,170,12]
PISZ["CALLED",175,200,12]
PISZ["CHAOS",190,235,12]
Bob 1,340,220,27
Wait 100
For Y=41 To 260 Step 6
Screen Display 0,,Y,,
Wait Vbl
Next
Wait 40
For Y=260 To -260 Step -1
Screen Display 0,,Y,,
Next
Screen Close 0
Colour Back 0
End Proc
Procedure CHESSBOARD_3D
Z=1
X=200
WSP=1
HA$(0)="CREDITS"
HA$(1)="CODE BY"
HA$(2)="DELTA"
HA$(3)="AND"
HA$(4)="STARLIGHT"
HA$(5)="GFX BY"
HA$(6)="TOOL AND ELVIS"
HA$(7)="ALL OF AFC"
HA$(8)="MUSIC BY"
HA$(9)="DELTA OF AFC"
Unpack 11 To 0
Screen Hide 0
Erase 11
Colour 31,$0
Screen Open 1,640,40,16,Hires
Screen Display 1,,160,,35
Flash Off : Get Bob Palette : Palette ,$0,,$B80 : Cls 0
Screen 0
Shift Up 1,8,23,1
Double Buffer
Autoback 0
Gr Writing 2
TENCZA
Screen Show 0
For J=1 To 260
If J>10 and J<18
Screen 1
PISZ2[Mid$(HA$(0),WSP,1),X,2,0]
X=X+35
If WSP=5
X=X-20
End If
Inc WSP
Screen 0
End If
If J=25 Then Screen 1 : Cls 0 : WSP=1 : X=200 : Screen 0
If J>25 and J<33
Screen 1
PISZ2[Mid$(HA$(1),WSP,1),X,2,0]
X=X+35
Inc WSP
Screen 0
End If
If J=40 Then Screen 1 : Screen 0 : X=200 : WSP=1
If J=49 Then Screen 1 : Cls 0 : Get Bob Palette : Palette ,,,$B80 : Cls 0 : Screen 0
If J>50 and J<56
Screen 1
PISZ2[Mid$(HA$(2),WSP,1),X,2,0]
X=X+35
Inc WSP
Screen 0
End If
If J=60 Then Screen 1 : Cls 0 : WSP=1 : X=250 : Screen 0
If J>60 and J<64
Screen 1
PISZ2[Mid$(HA$(3),WSP,1),X,2,0]
X=X+35
Inc WSP
Screen 0
End If
If J=70 Then Screen 1 : Cls 0 : WSP=1 : X=150 : Screen 0
If J>70 and J<80
Screen 1
PISZ2[Mid$(HA$(4),WSP,1),X,2,0]
X=X+35
If WSP=6
X=X-20
End If
Inc WSP
Screen 0
End If
If J=90 Then Screen 1 : Cls 0 : WSP=1 : X=150 : Screen 0
If J>90 and J<97
Screen 1
PISZ2[Mid$(HA$(5),WSP,1),X,2,0]
X=X+35
Inc WSP
Screen 0
End If
If J=110 Then Screen 1 : Cls 0 : WSP=1 : X=75 : Screen 0
If J>110 and J<125
Screen 1
PISZ2[Mid$(HA$(6),WSP,1),X,2,0]
X=X+35
If WSP=13
X=X-20
End If
Inc WSP
Screen 0
End If
If J=125 Then Screen 1 : Screen 0 : X=100 : WSP=1
If J=135 Then Screen 1 : Cls 0 : Get Bob Palette : Palette ,,,$B80 : Cls 0 : Screen 0
If J>135 and J<146
Screen 1
PISZ2[Mid$(HA$(7),WSP,1),X,2,0]
X=X+35
If WSP=12
X=X-20
End If
Inc WSP
Screen 0
End If
If J=155 Then Screen 1 : Cls 0 : Get Bob Palette : Palette ,,,$B80 : Cls 0 : Screen 0 : WSP=1 : X=200
If J>155 and J<164
Screen 1
PISZ2[Mid$(HA$(8),WSP,1),X,2,0]
X=X+35
If WSP=4
X=X-20
End If
If WSP=12
X=X-20
End If
Inc WSP
Screen 0
End If
If J=165 Then Screen 1 : Screen 0 : X=100 : WSP=1
If J=175 Then Screen 1 : Cls 0 : Get Bob Palette : Palette ,,,$B80 : Cls 0 : Screen 0
If J>175 and J<188
Screen 1
PISZ2[Mid$(HA$(9),WSP,1),X,2,0]
X=X+35
Inc WSP
Screen 0
End If
If J>210 and J<240
Inc Z
Rainbow 1,,141+Z,60-Z*2
End If
If J=200 Then Screen 1 : Cls 0 : Screen 0 : X=200 : WSP=1
Add I,2,1 To 360
SIZ=SN#(I)*30+40
BX=160+SN#(I*3)*100*SN#(I+90) : BY=128-SN#(I+I)*100*SN#(I)
PRV(1)=BX+SN#(I)*SIZ : PRV(2)=BY+SN#(I+270)*SIZ
PRV(3)=BX+SN#(I+90)*SIZ : PRV(4)=BY+SN#(I)*SIZ
PRV(5)=BX+SN#(I+180)*SIZ : PRV(6)=BY+SN#(I+90)*SIZ
PRV(7)=BX+SN#(I+270)*SIZ : PRV(8)=BY+SN#(I+180)*SIZ
Polygon PRV(9),PRV(10) To PRV(11),PRV(12) To PRV(13),PRV(14) To PRV(15),PRV(16)
Polygon PRV(1),PRV(2) To PRV(3),PRV(4) To PRV(5),PRV(6) To PRV(7),PRV(8)
PRV(9)=PRV(1)
PRV(10)=PRV(2)
PRV(11)=PRV(3)
PRV(12)=PRV(4)
PRV(13)=PRV(5)
PRV(14)=PRV(6)
PRV(15)=PRV(7)
PRV(16)=PRV(8)
Screen Swap
Screen Copy Physic To Logic
Next J
Polygon PRV(1),PRV(2) To PRV(3),PRV(4) To PRV(5),PRV(6) To PRV(7),PRV(8)
Screen Swap
Screen Copy Physic To Logic
Shift Off
Rainbow Del
Fade 3
Wait 40
Screen Close 0
Screen Close 1
End Proc
Procedure TENCZA
Set Rainbow 1,0,115,"","","(2,1,15)(2,-1,15)"
Rainbow 1,0,141,60
Channel 1 To Rainbow 1
Amal 1,"L:L X=1 ; F R1=1 T 61 ; L X =X+1 ; N R1 ; J L"
Amal On
End Proc
Procedure ZJAZD_TENCZY
For Z=1 To 30
Rainbow 1,,141+Z,60-Z*2
Wait 3
Next
Rainbow Del
End Proc
Procedure _3DCUBE
Screen Open 0,320,256,2,Lowres
Flash Off : Curs Off : Cls 0
Set Rainbow 1,1,350,"(15,1,15)","(15,-1,15)","(15,1,15)"
Rainbow 1,1,75,340
Channel 1 To Rainbow 1
Amal 1,"L:L X=1 ; F R1=1 T 61 ; L X =X+1 ; N R1 ; J L"
Amal On
For KOL=1 To 15
Colour KOL,NR
NR=NR+273
Next KOL
X_SR=160 : Rem - wspo�rzedna x srodka elipsy
Y_SR=100 : Rem - wspo�rzedna y srodka elipsy
X_PR=50 : Rem - d�ugosc osi poziomej elipsy
Y_PR=50 : Rem - d�ugosc osi pionowej elipsy
Degree : Rem - przejscie na miare stopniowa
Double Buffer : Autoback 0 : Rem - uaktywnienie trybu double buffer
Dim _SIN#(700),_COS#(700),X(4),Y(4) : Rem WSP(4),WSK(4)
For ALFA=0 To 630
_SIN#(ALFA)=Sin(ALFA)
_COS#(ALFA)=Cos(ALFA)
Next
WSP(1)=0
WSP(2)=1
WSP(3)=2
WSP(4)=3
For I=1 To 150
For ALFA=0 To 360 Step 5
If I>2 and I<50
If ALFA-5>0
ALFA=ALFA-5
End If
End If
Inc I
X(1)=X_SR+X_PR*_SIN#(ALFA)
Y(1)=Y_SR+Y_PR*_COS#(ALFA)
X(2)=X_SR+X_PR*_SIN#(ALFA+90)
Y(2)=Y_SR+Y_PR*_COS#(ALFA+90)
X(3)=X_SR+X_PR*_SIN#(ALFA+180)
Y(3)=Y_SR+Y_PR*_COS#(ALFA+180)
X(4)=X_SR+X_PR*_SIN#(ALFA+270)
Y(4)=Y_SR+Y_PR*_COS#(ALFA+270)
Cls 0
KOL=1
For T=1 To 10
Ink 1
Polyline X(1),Y(1) To X(2),Y(2) To X(3),Y(3) To X(4),Y(4) To X(1),Y(1)
For Z=1 To 4
X(Z)=X(Z)+WSP(Z) : Y(Z)=Y(Z)+WSP(Z)
Next Z
Next
For H=1 To 4
If WSP(H)<10 and WSK(H)=0
WSP(H)=WSP(H)+1
Else WSK(H)=1
If WSP(H)>0
WSP(H)=WSP(H)-1
Else
WSK(H)=0
End If
End If
Next
Screen Swap
Wait Vbl
Next ALFA
Next I
Rainbow Del
Cls 0
Screen Swap
Amal Off
End Proc
Procedure COPPER
Dim A(3)
A(1)=35
A(2)=35
A(3)=35
Screen Open 0,320,256,2,Lowres
Cls 0
KROK=1
For T=1 To 7
For Z=1 To 34
If T>2 Then Inc KROK
Set Rainbow 1,0,300,"("+Str$(A(1))+",1,"+Str$(A(1))+")","("+Str$(A(2))+",1,"+Str$(A(2))+")","("+Str$(A(3))+",1,"+Str$(A(3))+")"
Rainbow 1,1,1,300
Wait Vbl
If T>1 or T<3 Then Dec A(1)
If T<2 or T>5 Then Dec A(2)
If T<3 or T>4 Then Dec A(3)
Next
For Z=1 To 34
If T>2 Then Dec KROK
Set Rainbow 1,0,300,"("+Str$(A(1))+",1,"+Str$(A(1))+")","("+Str$(A(2))+",1,"+Str$(A(2))+")","("+Str$(A(3))+",1,"+Str$(A(3))+")"
Rainbow 1,1,1,300
Wait Vbl
If T>1 or T<3 Then Inc A(1)
If T<2 or T>5 Then Inc A(2)
If T<3 or T>4 Then Inc A(3)
Next
Next
Rainbow Del
End Proc
Procedure LUSTRO
Screen Open 0,320,256,4,Lowres
Palette $0,$FFF,$A,$0
Curs Off : Flash Off : Cls 0
For P=0 To 160
WSK(P)=0
Next P
Bar 0,128 To 320,256
X=160
Y=128
Y1=256-Y
Ink 1,1,1
Plot X,Y
For TZ=1 To 7500
Repeat
A=Rnd(3)
If A=0 Then X=X+2
If A=1 Then X=X-2
If A=2 Then Y=Y+2
If A=3 Then Y=Y-2
If Y>128 Then Y=128
If Y<0 Then Y=0
If X>320 Then X=320
If X<0 Then X=0
Y1=190-Y/2
Inc TZ
Until Point(X,Y)<>1
Plot X,Y
Plot X,Y1
Next TZ
Def Scroll 1,0,128 To 640,255,0,1
Def Scroll 2,0,0 To 640,128,0,-1
For T=1 To 130
Scroll 1
Scroll 2
Next
Fade 1,$FFF,$FFF,$FFF,$FFF
Wait 15
Cls 0
Fade 1
Wait 15
End Proc
Procedure INIT_FALA[POCZ,KON]
L=0
W=0
For NR=POCZ To KON
WSP(NR)=L
If L<5 and W=0
Inc L
Else
W=1
End If
If L>0 and W=1
Dec L
Else
W=0
End If
Next NR
End Proc
Procedure FALA[POCZ,KON,EKR]
For Y_POS=POCZ To KON
If WSP(Y_POS)<5 and WSK(Y_POS)=0
Inc WSP(Y_POS)
Screen Copy EKR,0,Y_POS,639,Y_POS+1 To EKR,WSP(Y_POS),Y_POS
Else
WSK(Y_POS)=1
End If
If WSP(Y_POS)>0 and WSK(Y_POS)=1
Screen Copy EKR,0,Y_POS,639,Y_POS+1 To EKR,-WSP(Y_POS),Y_POS
Dec WSP(Y_POS)
Else
WSK(Y_POS)=0
End If
Next Y_POS
End Proc
Procedure _SCROLL
Unpack 12 To 1
Screen Hide 1
Erase 12
Screen Display 1,,45,,90
Shift Up 1,0,31,1
Screen Open 0,320,256,16,Lowres
Cls 0 : Flash Off : Curs Off : Cls 0
Screen To Front 1
Get Bob Palette
Palette ,,$A,$B80
Dim T$(33)
T$(1)="GREETS TO"
T$(2)=" UNI*ON"
T$(3)=" MYSTI*C"
T$(4)="FREEZERS"
T$(5)=" VACUUM"
T$(6)=" DEPTH"
T$(7)=" CLAN"
T$(8)=" TURNI*PS"
T$(9)=" SCUM"
T$(10)=" S A F"
T$(11)="ANADUNE"
T$(12)=" CSP"
T$(13)="THEFECT"
T$(14)=" CARTEL"
T$(15)=" SKULLS"
T$(16)=" CONVEX"
T$(17)="SADI*ST"
T$(18)=" FI*RE"
T$(19)=" VENAL"
T$(20)="PHANTASM"
T$(21)="ALBI*ON"
T$(22)="OPTI*CORE"
T$(23)=" BUCKET"
T$(24)="CASYOPEA"
T$(25)=" TATET"
T$(26)="ASPHYXI*A"
T$(27)=" FUTURE"
T$(28)="OBSESI*ON"
T$(29)=" I*RI*S"
T$(30)="APPENDI*X"
T$(31)="GENETI*C"
T$(32)=" ZOMO"
T$(33)="AND REST"
Bar 0,128 To 640,256
WSK=0
Screen Show 1
Channel 15 To Screen Offset 1 : Amal 15,"L: FR0=1T20;LY=R0;LX=R0;P;NR0;FR0=1T18;LY=20-R0;LX=20-R0;P;NR0;JL"
Amal On
Screen 0
Do
INIT_FALA[128,156]
Inc WSK
PISZ2[T$(WSK),20,100,0]
PISZ3[T$(WSK),20,129,0]
For G=1 To 20
FALA[128,156,0]
Next G
Fade 1,,,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF
For TA=1 To 9
FALA[128,156,0]
Next
Ink 2
Bar 0,128 To 640,256
Fade 1,,,$A,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
For TA=1 To 9
FALA[128,156,0]
Next
Ink 0
Bar 0,100 To 639,128
Get Bob Palette : Palette ,,,$B80
Palette ,,$A
Exit If WSK=33
Loop
Screen Close 0
Screen Close 1
Amal Off
End Proc
Procedure BRY�Y
Dim _SIN#(700),_COS#(700),X(4),Y(4)
For ALFA=0 To 630
_SIN#(ALFA)=Sin(ALFA)
_COS#(ALFA)=Cos(ALFA)
Next
Screen Open 0,400,200,4,Lowres
Screen Open 1,320,130,16,Lowres
Screen Hide 1
Flash Off : Curs Off : Cls 0
Get Bob Palette : Palette ,,,$B80
Screen Display 1,,220,,
Screen 0
Get Bob Palette : Palette $FFF,$0 : Palette ,,,$B80
Flash Off : Curs Off : Cls 1
Screen Display 0,110,20,,
Set Rainbow 1,2,350,"(15,2,11)","(5,-1,1)","(11,-3,14)"
Rainbow 1,1,75,340
Channel 1 To Rainbow 1
Amal 1,"L:L X=1 ; F R1=1 T 161 ; L X =X+1 ; N R1 ; J L"
Amal On
X_SR=200
Y_SR=150
X_PR=50
Y_PR=20
XX=200
YY=70
WSP(1)=10 : WSK(1)=0
WSP(2)=20 : WSK(2)=0
WSP(3)=30 : WSK(3)=0
WSP(4)=40 : WSK(4)=0
Degree
Double Buffer : Autoback 0
' INIT_FALA[10,38]
Screen 1
PISZ2["COPPER",70,10,0]
PISZ2["RULES",90,40,0]
Screen Show 1
Screen 0
' Screen Swap
' Screen Copy Physic To Logic
For I=1 To 4
For ALFA=0 To 360 Step 4
X1=X_SR+X_PR*_SIN#(ALFA)
Y1=Y_SR+Y_PR*_COS#(ALFA)
X2=X_SR+X_PR*_SIN#(ALFA+120)
Y2=Y_SR+Y_PR*_COS#(ALFA+120)
X3=X_SR+X_PR*_SIN#(ALFA+240)
Y3=Y_SR+Y_PR*_COS#(ALFA+240)
X4=X_SR+X_PR*_SIN#(360-ALFA)
Y4=Y_SR+Y_PR*_COS#(360-ALFA)
X5=X_SR+X_PR*_SIN#(360-ALFA+90)
Y5=Y_SR+Y_PR*_COS#(360-ALFA+90)
X6=X_SR+X_PR*_SIN#(360-ALFA+180)
Y6=Y_SR+Y_PR*_COS#(360-ALFA+180)
X7=X_SR+X_PR*_SIN#(360-ALFA+270)
Y7=Y_SR+Y_PR*_COS#(360-ALFA+270)
Ink 1
Bar 0,0 To 340,190
Ink 2
' ostros�up
Polyline X1,Y1 To X2,Y2 To XX,YY To X1,Y1 To X3,Y3 To XX,YY To X3,Y3 To X2,Y2
'sze�cian
Polyline X4,Y4 To X5,Y5 To X6,Y6 To X7,Y7 To X4,Y4
Polyline X4,Y4-70+WSP(1) To X5,Y5-70+WSP(2) To X6,Y6-70+WSP(3) To X7,Y7-70+WSP(4) To X4,Y4-70+WSP(1)
Polyline X4,Y4 To X4,Y4-70+WSP(1)
Polyline X5,Y5 To X5,Y5-70+WSP(2)
Polyline X6,Y6 To X6,Y6-70+WSP(3)
Polyline X7,Y7 To X7,Y7-70+WSP(4)
For Z=1 To 4
If WSK(Z)=0
Inc WSP(Z)
End If
If WSK(Z)=1
Dec WSP(Z)
End If
If WSP(Z)=-20 Then WSK(Z)=0
If WSP(Z)>50 Then WSK(Z)=1
Next Z
'Screen 1
'FALA[10,38,1]
'Screen 0
Screen Swap
Next ALFA
Next I
Rainbow Del
Screen Close 0
Screen Close 1
Amal Off
End Proc
Procedure _SINUS
Screen Open 0,320,230,2,Lowres
Palette $0,$FFF : Cls 0 : Flash Off : Curs Off : Cls 0
Double Buffer : Autoback 0
INIT_FALA[0,41]
For Z=1 To 61
WSK(Z)=0
Next
For U=1 To 70
Cls 0
X1=100 : Y1=10 : NR=0
For Y=Y1 To Y1+200 Step 5
Ink 1
Draw X+WSP(NR),Y+WSP(NR) To X-WSP(NR)+300,Y+WSP(NR)
X1=X1+5
Y1=Y1+5
Inc NR
Next
Screen Swap
For S=0 To 41
If WSP(S)<5 and WSK(S)=0
Inc WSP(S)
Else
WSK(S)=1
End If
If WSP(S)>0 and WSK(S)=1
Dec WSP(S)
Else
WSK(S)=0
End If
Next S
Next U
Cls 0
Screen Swap
End Proc
Procedure AKFARELA[X,Y,ILE,KOLOR]
Screen Open 0,320,256,16,Lowres
Cls 0 : Flash Off : Curs Off
If KOLOR=0
Palette $0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$A,$B,$C,$D,$E,$F
End If
If KOLOR=1
Palette $0,$11,$22,$33,$44,$55,$66,$77,$88,$99,$AA,$BB,$CC,$DD,$EE,$FF
End If
If KOLOR=2
Palette $0,$111,$222,$333,$444,$555,$666,$777,$888,$999,$AAA,$BBB,$CCC,$DDD,$EEE,$FFF
End If
Randomize Timer
Ink 1,1,1
For S=1 To ILE
POWROT:
A=Rnd(1)
B=Rnd(1)
If A=0 Then X=X+1
If A=1 Then X=X-1
If X>Screen Width or X<0
If X>Screen Width : X=X-1 : Goto POWROT : End If
If X<0 : X=X+1 : Goto POWROT : End If
End If
If Point(X,Y)>0
Ink Point(X,Y)+1,Point(X,Y)+1,Point(X,Y)+1
Else
Ink 2,2,2
End If
Plot X,Y
If B=0 Then Y=Y+1
If B=1 Then Y=Y-1
If Y>Screen Height or Y<0
If Y>Screen Height : Y=Y-1 : Goto POWROT : End If
If Y<0 : Y=Y+1 : Goto POWROT : End If
End If
If Point(X,Y)>0
Ink Point(X,Y)+1,Point(X,Y)+1,Point(X,Y)+1
Else
Ink 2,2,2
End If
Plot X,Y
Next S
End Proc
Procedure BLOKUJ
Amos To Front
Amos Lock
Break Off
Close Workbench
Request Off
Hide
Led Off
End Proc
Procedure BAD
Track Stop
Do
Cls 0
Loop
End Proc
Procedure ELVIS
Unpack 13 To 0 : Erase 13 : Palette $0
Screen Open 1,320,256,64,Lowres
Curs Off : Flash Off : Cls 0 : Get Palette 0
For Y=-10 To 256
JJ=Y
For J=Y+30 To Y+20 Step -1 : Screen Copy 0,0,J,320,J+1 To 1,0,JJ : Inc JJ : Next J
Screen Copy 0,0,Y,320,Y+1 To 1,0,Y
Next
Wait 100 : Ink 0
For Y=256 To -10 Step -1
JJ=Y
For J=Y+30 To Y+20 Step -1 : Screen Copy 0,0,J,320,J+1 To 1,0,JJ : Inc JJ : Next J
Polyline 0,Y+10 To 630,Y+10 : Screen Copy 0,0,Y,320,Y+1 To 1,0,Y
Next
Screen Close 0
Screen Close 1
End Proc
Procedure _END_SCROLL
Unpack 14 To 0
Erase 14
For R=-40 To 40
Screen Display 0,,R,,
Wait Vbl
Next
Double Buffer : Autoback 0
Def Scroll 1,0,65 To 640,256,0,-1
Dim T$(110)
Restore DATY
For T=0 To 100
Read H$
If H$<>"***"
T$(T)=H$
Else
Exit
End If
Next
WSK=0
Gr Writing 0
Do
Ink 2,0,0
Text 10,252,T$(WSK)
Ink 3,0,0
Text 11,253,T$(WSK)
For U=1 To 20
S:
If Mouse Key=1 Then Goto S
If Mouse Key=2
Fade 2,,,$0,$0
Wait 25
Ink 0 : Bar 0,64 To 640,256 : Screen Swap
Fade 2,,,$555,$FFF
Wait 25
For R=40 To -40 Step -1
Screen Display 0,,R,,
Wait Vbl
Next
End
End If
Scroll 1
Screen Swap
Screen Copy Physic To Logic
Wait Vbl
Next
If WSK<105
Inc WSK
Else
WSK=0
End If
Loop
DATY:
Data "Teraz troch� po polsku (jak nie masz polskich liter to ju� tfuj proplem)..."
Data "LMB - zatrzymaj przewijacz RMB - olej przewijacz"
Data ""
Data "Na wst�pie korzystaj�c z tego i� mog� zasi��� do scrolla"
Data "(DELTA ON LINE) napisz� co� o demku. "
Data "Og�lnie m�wi�c to demko jest kodowane przeze mnie pr�cz jednego"
Data "efektu - lataj�cy kwadrat podczas credits'�w. A szczeg��owo to..."
Data "Po pierwsze pomys� zrodzi� si� w mojej (jak�e wspania�ej) g��wce."
Data "Ni st�d ni z ow�d pomy�la�em �e warto by co� napsa� zwa�ywszy na zbli�aj�ce"
Data "si� pozna�skie party."
Data "No i jak si� wzi��em to by�o wporz�dku do czasu gdy potrzebowa�em grafiki."
Data "Jako �e by�o ma�o czasu musia�em podi�� si� czynno�ci kt�rej bardzo nie lubi�."
Data "Dok�adniej rzecz bior�c zmuszony by�em do wyrypania dw�ch rysunk�w ze starej "
Data "produkcji AFC - NITROSACHAROZY (czy jako� tak). W demku s� umieszczone dwa"
Data "rysunki. Pierwszy z nich 'ALIEN SOLDIER' jest autorstwa TOOL'a, drugi - "
Data "'MISTS OF AVALON - DEATH' to dzie�o ELVISA. No i grafika ju� jest. Muzyka jest "
Data "moja, bo nie by�o czasu aby prosi� o ni� INVERTa. Potem przysz�o na"
Data "dopracowanie kodu. Chcia�em aby demko odplala�o na jednym mega. I tu zacz��y "
Data "si� 'schody'. A bo to raz muzyka by�a za d�uga, raz brak�o pami�ci na strefy "
Data "scrolla, ect., ect., ect... ."
Data "Poza tym to i tak by�em w dobrej sytuacji bo mia�em w domu dwie Amigi."
Data "Pierwsza - czyli moja 500 PLUS z 4MB RAM i Hadekiem i druga, Amiga od kuzynka,"
Data "zwyk�a pi��setka z 1 MB ramu. Wystarczy�o demko skompilowa� i przej�� do "
Data "pokoju obok aby ... dosta� komunikat 'Out of memory' i si� ostro wkurzy�. "
Data "Za kt�rym� odpaleniem demko by�o OK!. Tak, ale jest jeszcze ma�y problem"
Data "Bo pisz�� tego scrolla demko zwi�ksza swoj� d�ugo�� i mo�e znowu si� kashani�."
Data "Jak si� nadal b�dzie wali� to nic na to nie poradz� (nie urw� fragmentu kodu!)."
Data ""
Data "Dobra, mo�e by to ju� zako�czy�..."
Data "Troch� g�upio ko�czy� skorla tak wcze�nie, dopiero mamy... 16:45."
Data "W�a�nie zapomnia�em �e nie poda�em dzisiejszej daty - 06.06.1996."
Data "Mo�e za par� lat kto� b�dzie ogl�da� to demko."
Data ""
Data ""
Data "Teraz wrajtn� troch� mesejd�y...:"
Data ""
Data "DELTA/AFC <> FRED/R.N.O."
Data "Ty (CENSORED) czemu piszesz do mnie takie kr�tkie noty."
Data "M�g�by� napisa� co� wi�cej."
Data ""
Data "DELTA/AFC <> MADMAN/IND."
Data "Kiedy sko�czysz z psychodeli�... Tak w og�le to jojnuj"
Data "si� do jakie� grupki, a nie obijaj si�."
Data ""
Data "DELTA/AFC <> STARLIGHT/AFC"
Data "I co s�dzisz o tym demku... Dzi�ki za source RnB"
Data ""
Data "DELTA/AFC <> VOOK/AFC"
Data "Dzi�ki za source RnB. RnB jest cool..."
Data ""
Data "DELTA/AFC <> HANGMAN/DEPTH"
Data "Sorry, �e tak d�ugo nie pisa�em ale nie mia�em czasu, "
Data "bo zaj�ty by�em pisaniem tego denterka."
Data "Soon napisz�..."
Data ""
Data "Pozdrownienia from DELTA dla nast�puj�cych ludk�w:"
Data ""
Data "A-Down"
Data "Ace"
Data "Benton"
Data "Entrix"
Data "Fred"
Data "Hangman"
Data "Hiv"
Data "Invert"
Data "Kismat"
Data "Ko$mi"
Data "Korball"
Data "Madman"
Data "Mc. Rudi"
Data "Morino"
Data "Norman"
Data "Orion"
Data "The Tergent"
Data "Timer"
Data "Skizo"
Data "Starlight"
Data "Sweetvoice"
Data "Sydan"
Data "Timer"
Data "Vook"
Data "Zool"
Data "i reszta kt�r� zapomnia�em..."
Data ""
Data "No to na tyle pisania, bo nie samym scrollem cz�owiek �yje."
Data "Na koniec adresicki:"
Data "DELTA/AFC MC. RUDI "
Data "�ukasz �elezny Wojtek Nowak"
Data "ul. W�oska 4d/6 ul. Czerwonych Klon�w 5/2"
Data "42-600 Tarnowskie G�ry 33-101 Tarn�w"
Data "POLAND POLAND"
Data "tel. 1-85-42-85 (wew. 560) "
Data ""
Data ""
Data ""
Data ""
Data ""
Data ""
Data ""
Data ""
Data "RESTART SCROLL"
Data ""
Data ""
Data ""
Data "***"
End Proc
Procedure ROTATOR
Screen Open 0,320,256,8,Lowres
Screen Hide 0
Flash Off : Curs Off : Cls 0 : Palette $0,$222,$444,$666,$888,$AAA,$CCC,$EEE
For X=1 To 320 Step 120
PISZ["AFC",X,128,0]
Next
Screen Open 1,320,256,8,Lowres
Cls 0 : Curs Off : Flash Off : Get Palette 0 : Cls 0
ZOM=0 : I=0
X1=140 : X2=180
Y1=108 : Y2=148
Ink 8 : Box 128,97 To 181,149
Ink 7 : Box 127,96 To 182,150
Ink 6 : Box 126,95 To 183,151
Ink 5 : Box 125,94 To 184,152
Ink 4 : Box 124,93 To 185,153
Ink 3 : Box 123,92 To 186,154
Pen 7 : Paper 0
Locate 14,10 : Print "ZOOM - ROTATOR"
For PP=1 To 3
ZOM=0 : I=0
X1=140 : X2=180
Y1=108 : Y2=148
Repeat
Trap Zoom 0,X1-ZOM-I,Y1-ZOM+I,X2+ZOM+I,Y2+ZOM-I To 1,130,98,180,148
ZOM=ZOM+15
X1=X1-4
Y1=Y1+2
X2=X2-5
X2=X2+3
Until ZOM>50
Repeat
Trap Zoom 0,X1-ZOM-I,Y1-ZOM+I,X2+ZOM+I,Y2+ZOM-I To 1,130,98,180,148
ZOM=ZOM-15
X1=X1+2
Y1=Y1-4
X2=X2+5
X2=X2-1
Until ZOM<-10
Repeat
Trap Zoom 0,X1-ZOM-I,Y1-ZOM+I,X2+ZOM+I,Y2+ZOM-I To 1,130,98,180,148
ZOM=ZOM+5
X1=X1-2
Y1=Y1+4
X2=X2-5
X2=X2+1
Until ZOM>50
Repeat
Trap Zoom 0,X1-ZOM-I,Y1-ZOM+I,X2+ZOM+I,Y2+ZOM-I To 1,130,98,180,148
ZOM=ZOM-5
X1=X1+4
Y1=Y1-2
X2=X2+5
X2=X2-3
Until ZOM<-10
Next PP
Screen Close 0
Screen Close 1
End Proc